package com.canaan.business.domain.barcode;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.canaan.common.annotation.Excel;
import com.canaan.common.core.domain.BaseEntity;
import com.canaan.common.annotation.TableName;
/**
 * 监管码对象 wms_upload_circubill
 *
 * @author yangjie
 * @date 2025-01-15
 */
@ApiModel(description = "wms_upload_circubill")
@TableName("wms_upload_circubill")
public class UploadCircubill extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("${comment}")
    private Long id;

    /** 单据编号【同一个企业不能上传相同单据号】 */
    @Excel(name = "单据编号【同一个企业不能上传相同单据号】")
    @ApiModelProperty("单据编号【同一个企业不能上传相同单据号】")
    private String billCode;

    /** 单据时间（扫码时间） */
    @Excel(name = "单据时间", readConverterExp = "扫=码时间")
    @ApiModelProperty("单据时间")
    private Date billTime;

    /** 单据类型【102代表采购入库,201代表销售出库，其它单据类型详见文档】 */
    @Excel(name = "单据类型【102代表采购入库,201代表销售出库，其它单据类型详见文档】")
    @ApiModelProperty("单据类型【102代表采购入库,201代表销售出库，其它单据类型详见文档】")
    private Long billType;

    /** 药品类型【3普药2特药】 */
    @Excel(name = "药品类型【3普药2特药】")
    @ApiModelProperty("药品类型【3普药2特药】")
    private Long physicType;

    /** 货主企业（单据的所有者，上传人）【注意：该入参是ref_ent_id，不是ent_id】 */
    @ApiModelProperty("药品类型【3普药2特药】")
    private String refUserId;

    /** 第三方物流代理企业 */
    @Excel(name = "第三方物流代理企业")
    @ApiModelProperty("第三方物流代理企业")
    private String agentRefUserId;

    /** 发货企业 */
    @Excel(name = "发货企业")
    @ApiModelProperty("发货企业")
    private String fromUserId;

    /** 收货企业 */
    @Excel(name = "收货企业")
    @ApiModelProperty("收货企业")
    private String toUserId;

    /** 直调企业 */
    @Excel(name = "直调企业")
    @ApiModelProperty("直调企业")
    private String destUserId;

    /** 操作人标识（写appkey编号） */
    @Excel(name = "操作人标识", readConverterExp = "写=appkey编号")
    @ApiModelProperty("操作人标识")
    private String operIcCode;

    /** 单据提交者姓名 */
    @Excel(name = "单据提交者姓名")
    @ApiModelProperty("单据提交者姓名")
    private String operIcName;

    /** 单据文件体【bas64字符串】 */
    @Excel(name = "单据文件体【bas64字符串】")
    @ApiModelProperty("单据文件体【bas64字符串】")
    private String fileContent;

    /** 单据名称 */
    @Excel(name = "单据名称")
    @ApiModelProperty("单据名称")
    private String uploadFileName;

    /** 请求端类型【暂定都写2】 */
    @Excel(name = "请求端类型【暂定都写2】")
    @ApiModelProperty("请求端类型【暂定都写2】")
    private Long clientType;

    /** 发货地址 */
    @Excel(name = "发货地址")
    @ApiModelProperty("发货地址")
    private String fromAddress;

    /** 收货地址 */
    @Excel(name = "收货地址")
    @ApiModelProperty("收货地址")
    private String toAddress;

    /** 发货单编号 */
    @Excel(name = "发货单编号")
    @ApiModelProperty("发货单编号")
    private String fromBillCode;

    /** 订货单编号 */
    @Excel(name = "订货单编号")
    @ApiModelProperty("订货单编号")
    private String orderCode;

    /** 发货人（特药出单据必填） */
    @Excel(name = "发货人", readConverterExp = "特=药出单据必填")
    @ApiModelProperty("发货人")
    private String fromPerson;

    /** 收货人（特药入单据必填） */
    @Excel(name = "收货人", readConverterExp = "特=药入单据必填")
    @ApiModelProperty("收货人")
    private String toPerson;

    /** 药品配送企业refentid */
    @Excel(name = "药品配送企业refentid")
    @ApiModelProperty("药品配送企业refentid")
    private String disRefEntId;

    /** 药品配送企业entId */
    @Excel(name = "药品配送企业entId")
    @ApiModelProperty("药品配送企业entId")
    private String disEntId;

    /** 应收货总数量 */
    @Excel(name = "应收货总数量")
    @ApiModelProperty("应收货总数量")
    private Long quReceivable;

    /** 是否验证，0：未通过验证，1：已验证 */
    @Excel(name = "是否验证，0：未通过验证，1：已验证")
    @ApiModelProperty("是否验证，0：未通过验证，1：已验证")
    private String xtIsCheck;

    /** 未验证通过原因 */
    @Excel(name = "未验证通过原因")
    @ApiModelProperty("未验证通过原因")
    private String xtCheckCode;

    /** 未验证通过原因描述 */
    @Excel(name = "未验证通过原因描述")
    @ApiModelProperty("未验证通过原因描述")
    private String xtCheckCodeDesc;

    /** 药品列表Json */
    @Excel(name = "药品列表Json")
    @ApiModelProperty("药品列表Json")
    private String drugListJson;

    /** 单据委托企业refEntId */
    @Excel(name = "单据委托企业refEntId")
    @ApiModelProperty("单据委托企业refEntId")
    private String assRefEntId;

    /** 单据委托企业entId */
    @Excel(name = "单据委托企业entId")
    @ApiModelProperty("单据委托企业entId")
    private String assEntId;

    /** 单据委托企业entId */
    @Excel(name = "是否删除")
    @ApiModelProperty("是否删除")
    private String delFlag;

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setBillCode(String billCode)
    {
        this.billCode = billCode;
    }

    public String getBillCode()
    {
        return billCode;
    }
    public void setBillTime(Date billTime)
    {
        this.billTime = billTime;
    }

    public Date getBillTime()
    {
        return billTime;
    }
    public void setBillType(Long billType)
    {
        this.billType = billType;
    }

    public Long getBillType()
    {
        return billType;
    }
    public void setPhysicType(Long physicType)
    {
        this.physicType = physicType;
    }

    public Long getPhysicType()
    {
        return physicType;
    }
    public void setRefUserId(String refUserId)
    {
        this.refUserId = refUserId;
    }

    public String getRefUserId()
    {
        return refUserId;
    }
    public void setAgentRefUserId(String agentRefUserId)
    {
        this.agentRefUserId = agentRefUserId;
    }

    public String getAgentRefUserId()
    {
        return agentRefUserId;
    }
    public void setFromUserId(String fromUserId)
    {
        this.fromUserId = fromUserId;
    }

    public String getFromUserId()
    {
        return fromUserId;
    }
    public void setToUserId(String toUserId)
    {
        this.toUserId = toUserId;
    }

    public String getToUserId()
    {
        return toUserId;
    }
    public void setDestUserId(String destUserId)
    {
        this.destUserId = destUserId;
    }

    public String getDestUserId()
    {
        return destUserId;
    }
    public void setOperIcCode(String operIcCode)
    {
        this.operIcCode = operIcCode;
    }

    public String getOperIcCode()
    {
        return operIcCode;
    }
    public void setOperIcName(String operIcName)
    {
        this.operIcName = operIcName;
    }

    public String getOperIcName()
    {
        return operIcName;
    }
    public void setFileContent(String fileContent)
    {
        this.fileContent = fileContent;
    }

    public String getFileContent()
    {
        return fileContent;
    }
    public void setUploadFileName(String uploadFileName)
    {
        this.uploadFileName = uploadFileName;
    }

    public String getUploadFileName()
    {
        return uploadFileName;
    }
    public void setClientType(Long clientType)
    {
        this.clientType = clientType;
    }

    public Long getClientType()
    {
        return clientType;
    }
    public void setFromAddress(String fromAddress)
    {
        this.fromAddress = fromAddress;
    }

    public String getFromAddress()
    {
        return fromAddress;
    }
    public void setToAddress(String toAddress)
    {
        this.toAddress = toAddress;
    }

    public String getToAddress()
    {
        return toAddress;
    }
    public void setFromBillCode(String fromBillCode)
    {
        this.fromBillCode = fromBillCode;
    }

    public String getFromBillCode()
    {
        return fromBillCode;
    }
    public void setOrderCode(String orderCode)
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode()
    {
        return orderCode;
    }
    public void setFromPerson(String fromPerson)
    {
        this.fromPerson = fromPerson;
    }

    public String getFromPerson()
    {
        return fromPerson;
    }
    public void setToPerson(String toPerson)
    {
        this.toPerson = toPerson;
    }

    public String getToPerson()
    {
        return toPerson;
    }
    public void setDisRefEntId(String disRefEntId)
    {
        this.disRefEntId = disRefEntId;
    }

    public String getDisRefEntId()
    {
        return disRefEntId;
    }
    public void setDisEntId(String disEntId)
    {
        this.disEntId = disEntId;
    }

    public String getDisEntId()
    {
        return disEntId;
    }
    public void setQuReceivable(Long quReceivable)
    {
        this.quReceivable = quReceivable;
    }

    public Long getQuReceivable()
    {
        return quReceivable;
    }
    public void setXtIsCheck(String xtIsCheck)
    {
        this.xtIsCheck = xtIsCheck;
    }

    public String getXtIsCheck()
    {
        return xtIsCheck;
    }
    public void setXtCheckCode(String xtCheckCode)
    {
        this.xtCheckCode = xtCheckCode;
    }

    public String getXtCheckCode()
    {
        return xtCheckCode;
    }
    public void setXtCheckCodeDesc(String xtCheckCodeDesc)
    {
        this.xtCheckCodeDesc = xtCheckCodeDesc;
    }

    public String getXtCheckCodeDesc()
    {
        return xtCheckCodeDesc;
    }
    public void setDrugListJson(String drugListJson)
    {
        this.drugListJson = drugListJson;
    }

    public String getDrugListJson()
    {
        return drugListJson;
    }
    public void setAssRefEntId(String assRefEntId)
    {
        this.assRefEntId = assRefEntId;
    }

    public String getAssRefEntId()
    {
        return assRefEntId;
    }
    public void setAssEntId(String assEntId)
    {
        this.assEntId = assEntId;
    }

    public String getAssEntId()
    {
        return assEntId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("billCode", getBillCode())
            .append("billTime", getBillTime())
            .append("billType", getBillType())
            .append("physicType", getPhysicType())
            .append("refUserId", getRefUserId())
            .append("agentRefUserId", getAgentRefUserId())
            .append("fromUserId", getFromUserId())
            .append("toUserId", getToUserId())
            .append("destUserId", getDestUserId())
            .append("operIcCode", getOperIcCode())
            .append("operIcName", getOperIcName())
            .append("fileContent", getFileContent())
            .append("uploadFileName", getUploadFileName())
            .append("clientType", getClientType())
            .append("fromAddress", getFromAddress())
            .append("toAddress", getToAddress())
            .append("fromBillCode", getFromBillCode())
            .append("orderCode", getOrderCode())
            .append("fromPerson", getFromPerson())
            .append("toPerson", getToPerson())
            .append("disRefEntId", getDisRefEntId())
            .append("disEntId", getDisEntId())
            .append("quReceivable", getQuReceivable())
            .append("xtIsCheck", getXtIsCheck())
            .append("xtCheckCode", getXtCheckCode())
            .append("xtCheckCodeDesc", getXtCheckCodeDesc())
            .append("drugListJson", getDrugListJson())
            .append("assRefEntId", getAssRefEntId())
            .append("assEntId", getAssEntId())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
